package controllers;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import models.Polynomial;
import utilities.PolynomFactory;
import utilities.Utilities;
import view.View;
public class Controller {
private View view;
private Polynomial a = new Polynomial(0);
private Polynomial b = new Polynomial(0);
private PolynomFactory factory = new PolynomFactory();
private ManageOperations manager = new ManageOperations();
public Controller(View view) {
this.view = view;
this.view.addOperationsChangeListener(new OperationsListener());
this.view.addCoefA(new AddCoefficientForAListener());
this.view.addCoefB(new AddCoefficientForBListener());
this.view.addDeleteAListener(new DeleteAListener());
this.view.addDeleteBListener(new DeleteBListener());
}
public class OperationsListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
manager.manageOperation(view, a, b);
}
}
public class AddCoefficientForAListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
a = factory.createPolynomial(view);
view.setPolynomialA(Utilities.toString(a));
}
}
public class AddCoefficientForBListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
b = factory.createPolynomial(view);
view.setPolynomialB(Utilities.toString(b));
}
}
public class DeleteAListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
a = new Polynomial(0);
view.setPolynomialA("");
}
}
public class DeleteBListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
b = new Polynomial(0);
view.setPolynomialB("");
}
}
}